Optimization of the decision threshold for binary signals

ABSTRACT

A threshold value is set in a decision circuit receiving a transmitted stream of binary symbols from a network link. The decision circuit uses the threshold value for detecting whether a 1 or a 0 is received to produce an output stream having a low bit error rate. Bit errors in the output stream of the detector are detected. The number of errors is counted when a transmitted 0 is detected as a 1 in the output stream. The number of errors is also counted when a transmitted  1  is detected as a 0 in the output stream. The counted numbers of errors are compared to each other. The threshold value is modified, if necessary, based on the result of the comparing, to e.g. make the probabilities of the two kinds of errors equal to each other. Extra predetermined bits can be inserted and used in determining bit errors.

FIELD OF THE INVENTION

The present invention relates to a method of setting a decisionthreshold in a detector circuit receiving a binary signal from atransmission line, to a detector circuit and to a network in which themethod is used.

BACKGROUND

In high-speed optical communication systems digital information isusually encoded by intensity modulating an optical signal as illustratedin FIG. 1 and described in the following. There is a continuous streamof bits at a rate B into the system. At the transmitter, a binary “1”digit corresponds to a high optical power, whereas a binary “0” digitcorresponds to a relatively low optical power. The signal is thentransmitted over an optical fiber and at the receiving end a detectorconverts the optical input signal to an electrical signal. Theelectrical signal is then fed to a decision circuit, which samples thesignal at specific times and compares the sampled signal to a thresholdvalue. If the sampled value is above or below the threshold the receiveroutputs a digital “1” or “0” symbol respectively. Under idealconditions, the output symbols exactly match the input symbols.

Practically, a signal will for various reasons be degraded when ittravels through the different components of a transmission system andthen there is a problem of finding or setting an appropriate thresholdin binary detection. An appropriate threshold value will give the bestpossible detection for a given input signal. Many documents deal withthis problem of setting an appropriate threshold.

Thus, in U.S. Pat. No. 4,823,260, a binary data regenerator is disclosedwhich uses three threshold levels, one level located between the othertwo, the first two levels produced by two control loops such thatpredetermined error rates occur on the ZERO and on the ONE, convenientlythe same error rate for both. The bit error rate (BER) is establishedseparately for the ZERO and the ONE.

In U.S. Pat. No. 5,806,641, a decision threshold setting circuit fore.g. an optical receiver is disclosed in which the average input currentis used in order to achieve a variable threshold.

In U.S. Pat. No. 4,456,992, enhancement of the probability of error-freereception of digital data is described, by means of a time-variablethreshold value.

In U.S. Pat. No. 5,896,422, a method for adaptively setting of thedecision threshold in digital communication is disclosed, in which theaverage bit amplitude is used.

In U.S. Pat. No. 5,923,219, an automatic threshold control circuit isdisclosed, that detects the minimum level of an input signal, and amaximum level relative to the minimum level, and generates a thresholdlevel from these values.

U.S. Pat. No. 4,847,865, an improved circuit for threshold adjustment indigital communication is disclosed.

In U.S. Pat. No. 5,459,311, a fiber optic system including a thresholdproducing circuit is described, the decision threshold voltagepreferably being half the peak voltage.

In U.S. Pat. No. 4,318,128, reception of digital data in the presence ofnoise is disclosed. A threshold value is set at an average value of avoltage, in which the noise level is taken into account.

In the published European patent application 0 240 157 an opticalcommunication system is described that includes an automatic thresholdvalue controlling circuit for setting the threshold at an average valueof the input intensities.

SUMMARY OF THE INVENTION

It is an object of the invention to provide a method of setting, in anoptimum and efficient way, a decision threshold in a detection circuitreceiving a binary signal, i.e. a signal having two levels, from atransmission line.

Thus, generally in a system or network for communication, in particularhigh speed optical communication, digital data are transmitted over atransmission link. For an optical link, the digital data are encoded toproduce an intensity or power modulated optical signal, with a binary“1” corresponding to high optical and a binary “0” to low opticalinstantaneous power. The transmitted signal is received and converted bya detector, sampled and fed to a decision circuit for comparing it to athreshold value. Due to noise and degradation data bit errors occur inthe decision process, i.e. a 1 can be mistaken for a 0 or a 0 can bemistaken for a 1. By setting the threshold value appropriately the rateof bit errors (BER) in the communication link can be minimized.

The minimization of the BER can be obtained by executing an algorithmfor setting the threshold value such that the probability for making anerror in a transmitted 1 becomes substantially the same as theprobability for making an error in a transmitted 0. This is done bydetermining the bit error rate for transmitted 1's separately fromdetermining the bit error rate for transmitted 0's. In particular, todetermine if there is an error, different methods of coding thetransmitted digital data can be used, providing it with insertedpredetermined and thus known, extra information.

Thus, a threshold value can be set in a decision circuit connected in anetwork and receiving from a link in the network a plurality of signallevels representing a transmitted input stream of symbols. Each signallevel represents one separate or individual symbol. The decision circuituses the threshold value for discriminating between two adjacent signallevels comprising a low signal level representing a first symbol and ahigh signal level representing a second symbol. The decision circuitthereby produces an output stream of symbols substantially agreeing withthe input stream. Errors as to the first and second symbols are thendetermined in the output stream and the number of errors is counted whenan input first symbol is detected to give an output second symbol andwhen an input second symbol is detected to give an output first symbol.The counted numbers of errors are compared to each other. The result ofthe comparing operation is used for modifying the threshold value ifnecessary.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described by way of non-limiting embodimentswith reference to the accompanying drawings, in which:

FIG. 1 is a schematic diagram of a simple optical transmission system inwhich signal shapes due to distortion are illustrated,

FIG. 2 is a schematic diagram similar to that of FIG. 1 in which signalshapes due to distortion and noise are illustrated,

FIGS. 3 a and 3 b are diagrams of the distribution of sample valuesobtained in a sampling circuit in the system of FIGS. 1 and 2 as afunction of the voltage, the samples being obtained without consideringnoise and considering noise respectively,

FIG. 4 is a flow chart illustrating steps executed in a receiver to seta threshold value in a decision circuit,

FIG. 5 is a schematic diagram similar to that of FIGS. 1 and 2 in whichunits have been entered to perform an accurate setting of a thresholdvalue used by a decision circuit,

FIG. 6 is a simple diagram of an insertion unit, and

FIG. 7 is a simple diagram of a unit for accessing and removing bits.

DETAILED DESCRIPTION

In FIG. 1 a high-speed optical communication system is schematicallyillustrated. An incoming electrical binary, digital signal formed by acontinuous stream of bits at a rate B is used to encode an opticalsignal carrier by modulating the intensity thereof in a transmitter 1.In the output signal of the transmitter, high optical power levelcorresponds to an input binary “1” whereas a relatively low opticalpower level corresponds to an input binary “0”. The optical signalobtained is then transmitted over an optical fiber length 3 and is atthe receiving end of the fiber converted by a detector 5 to anelectrical signal. This electrical signal is provided to a samplingcircuit 7, which samples the signal at regular occurring times. Thesampled values output from the sampling circuit are fed to decisioncircuit 9 in which the sampled values are compared to a threshold value.If a sampled value is above or below the threshold value the decisioncircuit outputs a digital “1” or “0” symbol respectively.

A signal traveling through the different components of such atransmission system will be degraded due to the physical nature of thecomponents involved. The transmitter 1, the optical fiber 3, and thedifferent parts 5, 7, 9 of the receiver side are not ideal and distortthe signal for various reasons. Typical distorted signal shapes areillustrated in the figure at the output side of the detector 5. A maincause of the degradation can be that the bit rate used for the signalingoften is close to the maximum speed at which the components used can beoperated. Also, various sources of noise exist in a real transmissionsystem. When noise is added to the signal, as illustrated by the signalshapes seen in FIG. 2, the signal amplitude will be random. Thereforethe value of the samples that are fed to the decision circuit 9 willalso be random and when they are compared to the threshold value a “1”symbol can be mistaken for a “0” symbol, or a “0” symbol can be mistakenfor a “1” symbol. This is called a bit error. The most important figureof merit for this kind of communication link is the rate of bit errors,called the bit-error rate (BER) and defined as the proportion oferroneous bits received in relation to the total number of receivedbits. The BER of typical systems of the kind illustrated in FIGS. 1 and2 is usually 10⁻¹² or better.

In the diagrams of FIGS. 3 a and 3 b is illustrated how noise changesthe distribution of the sample values that are used to decide whetherthe input signal corresponds to a “1” or a “0”. The diagram of FIG. 3 ashows the distribution for a received signal for the case when there isno noise in the transmission. It can be seen that the distributioncomprises two narrow peaks, a large interval existing between themwithin which the threshold value can be selected in order to obtain noerrors at all in the decision. Thus, specifically all samplescorresponding to 1's are above the threshold and all samplescorresponding to 0's are below the threshold.

When noise is added to the signal as illustrated by the distributionplotted in the diagram of FIG. 3 b, there is a significant overlapbetween samples corresponding to 1's and 0's because the two narrowpeaks of FIG. 3 a are broadened to become two wider peaks. Told in moreexact words, the tails of the distributions for transmitted 0's and 1'soverlap in the region between the peak values. In this region it is notpossible to decide whether a sample value actually corresponds to a “1”or “0”, and therefore errors are obtained. Depending on the level atwhich the threshold value is selected, the probability of making anerror will vary, resulting in different BERs.

In many cases, the distributions of the sample values for “1” and “0”are symmetric. In such a case, setting the threshold value to the meanvalue of the 1 and 0 level, i.e. taking V_(th)=(V₁−V₀)/2 where V_(th) isthe selected threshold value, V₀ and V₁ are the voltages at which thepeaks of the distribution are obtained, will minimize the BER. In a moregeneral situation, the minimization is not trivial and a minimizationproblem can be stated as follows provided, as has also been assumedabove, that the total numbers of 1's and 0's are equal:minimize {P _(e)[0−>1](V _(th))+P _(e)[1−>0](V _(th))} when varying V_(th)  (1)

Here, P_(e)[0−>1] (V_(th)) is the probability that a 0 was sent and waserroneously detected as a 1. This probability will be a function ofV_(th). For Gaussian noise, which is commonly used as an approximationof the existing noise, one can easily calculate the optimum value ofV_(th) theoretically. Whereas the noise itself can be considered to beGaussian for all practical purposes, the distortion from which thesignal suffers will have to be taken into account in order to calculatethe total sample distributions, giving a result that can be far from aGaussian distribution. There are also other types of degradations, suchas crosstalk, which can make the distributions have non-Gaussian shapes.If an algorithm based on the actual shapes of the sample distributionsfor 1's and 0's were to be implemented in an actual component the shapesof the two distributions have to be measured. This can be difficult inpractice.

If the minimization according to (1) is carried out, the probability ofmaking an error for a “1” symbol is in most cases close to theprobability of making an error for a “0” symbol. Now, assume that it isby some means possible to find out whether there is an error, and inwhich direction it goes. Then, the threshold can be optimized by makingthe probability to make a 0−>1 error the same as to make a 1−>0 error.Such an algorithm could look like the following:

-   1. If there is no error, go to 1 and check the next symbol.-   2. If there is an error from 0−>1, increase the threshold, i.e. set    V_(th)=V_(th)+ΔV.-   3. If there is an error from 1−>0, decrease the threshold, i.e. set    Vth=Vth−ΔV.-   4. Go to 1 and check the next symbol.

This algorithm is illustrated by the flow chart of FIG. 4. In a firstblock 21 a new symbol is accessed and analyzed. In the next block 23 isdetermined whether there is an error of type 0−>1. If it is determinedthat such an error exists in the symbol, a block 25 is executed in whichthe threshold value is increased by Δ V. Then the block 21 is executedagain. If it is determined in block 23 that there is no error type 0−>1,a block 27 is executed in which it is determined whether there is anerror of type 1−>0. If it is determined that such an error exists in thesymbol, a block 29 is executed in which the threshold value is decreasedby Δ V. Then the block 21 is executed again.

For this simple example algorithm, the increment/decrement Δv shouldhave a sufficiently small value so that once the optimum point isreached, a reasonable number of bit errors in the same direction shouldnot move the threshold value V_(th) substantially away from the optimumpoint. However, if Δv is too small, a very long time will elapse beforethe optimum is reached. Thus, it is desired to provide a betteralgorithm that makes the threshold value V_(th) reach its optimum pointfaster, while still being stable once the optimum is reached. Oneexample of such an algorithm could be to use a larger Δv when thereceiver is being connected to the transmitter and the link is set up.After some time when the decision threshold has been adjusted Δv can belowered to ensure a more stable operating point. Another way to optimizethe threshold could be to find the point where the BER for 0−>1 errorsis equal to 1*10⁻⁹, and to find the point where the BER for 1−>0 errorsis equal to 1*10⁻⁹ and then take the average of these two points as anestimate of the optimum decision threshold.

A method of determining whether there is an error and in what directionit goes comprises generally that additional information using digitalspecial coding is entered in the information stream. If the additionalinformation is properly selected, it is possible to deduce, by analyzingthe extra information that is inserted, whether there is an error and inwhich direction it goes. A simple example includes using the followingtwo codes:

-   “111” for “1”-   “000” for “0”

To transmit a digital “1” using this code, instead the code word “111”is transmitted. If “110”, “101”, or “011” is received, it is almostcertain that a “111” should have been received because it is much moreunlikely that there are two errors than one error. Thus there is a 1−>0error. To use this coding for each transmitted symbol would decrease thetransmitted bit rate too much. Instead these symbols could be only usedperiodically, i.e. for every n:th bit.

In another type of coding which can also be used, denoted in the art by(64B/66B), two extra bits are inserted every 64^(th) bit, in the generalcase every n:th bit. These two extra bits are either “01” or “10”. If“10” is transmitted and instead “11” is received we know that there wasa 0−>1 error. The same holds if “01” is transmitted and “11” isreceived. To summarize, if “11” is received, there is a 0−>1 error andif “00” is received there is a 1−22 0 error. A similar principle can beapplied using e.g. the 8B/10B code, see D. G. Cunningham & W. G. Lane,“Gigabit Ethernet Networking”, Chapter 8.6, which also has a wide use.

The basic optical transmission network illustrated in FIGS. 1 and 2 thenhas to be provided with some more components as seen in the blockdiagram of FIG. 5. Thus, before reaching the transmitter 1, the incomingbit stream passes through an insertion unit 31 for inserting the extraadditional bits. Such a unit will generally comprise some fast buffer asa shift register and control circuits. Similarly, the correspondingoutput bit stream obtained from the decision circuit 9 passes throughanother unit 33 for accessing and removing the additional bits. Thisunit will also include some shift register and control circuits. Theaccessed additional bits are provided to an analyzing unit 35 thatperforms the analysis whether the bits indicate an error or not and theprobable type of error. The result of the analysis is signaled to thedecision circuit 9 which then can increase or decrease the thresholdvalue used for detection whether a 0 or 1 is received.

The insertion unit 31 can, as seen in FIG. 6, be designed as aserializer or multiplexer 35 for converting bits incoming on a pluralityof incoming lines, e.g. 66 lines, to a single output bit stream. Thesignal data then arrive on some of these input lines, in the exampleshown on 64 lines, and the extra bits to be inserted on the remaininginput lines, in the example on two lines.

In the same way, the accessing and removing unit 33 can, as seen in FIG.7, comprise a deserializer or demultiplexer 37 for converting the serialbits incoming on single line to data transmitted on a plurality ofoutput lines, e.g. 66 lines in the example. The signal data appear onsome of the output lines, in the example shown on 64 lines, and theextra, previously inserted bits on the remaining output lines, in theexample on two lines, that are connected to a threshold control unit 39in the decision circuit 9.

Also other types of codes exist allowing the separate detection oferrors of the type 1−>0 and of the type 0−>1. Obviously, all such codescan be used in the method described herein. An example of such codescomprise forward error correction (FEC) codes that are presently oftenused in optical links having a transmission rate of 10 Gb/s or higher.References to such coding comprise “ITU-T Recommendation G.975” and thebook by Simon Haykin, “Digital Communications”, chapter 8.

As is obvious to one skilled in the art, the general concept of themethod described herein can be practiced in multilevel systems, i.e. intransmission systems using more than two signal levels in transmittingdata. Then, more than one threshold value has to be set to optimalvalues. Each threshold value then discriminates between two adjacentsignal levels, allow level and a high level. The threshold value is setin the same way as described above substituting the low signal level forthe 0-level and the high signal level for the 1-level.

Also, the method can be used, in addition to fiber optical signalingsystems, in all systems having a detector circuit for detecting receivedbinary data from an incoming signal that e.g. can be an electricalsignal. Other examples comprise wireless systems such as radio,microwave and IR transmission systems.

Furthermore, as is also obvious to anybody skilled in the art, insteadof the direct detection by a level detector 9 as described above usingelectrical signals, other decision methods can be used. They include butare not limited to all-optical decision circuits, homodyne andheterodyne techniques, and coherent signalling schemes.

1. A method of setting a threshold value in a decision circuit receivinga transmitted stream of binary symbols, the decision circuit using athreshold value for detecting whether a 1 or a 0 is received to producean output stream having a low bit error rate, said method comprising:determining bit errors in the output stream based on extra informationinserted before transmitting the stream; counting the number of errorswhen a transmitted 0 is detected to give a 1 in the output stream andthe number of errors when a transmitted 1 is detected to give a 0 in theoutput stream; comparing the counted numbers of errors to each other;and at least one of maintaining and modifying the threshold valueaccording to the result of the comparing.
 2. A method according to claim1, further comprising: setting the threshold value to a first value sothat the counted number of errors, when a transmitted 0 is detected togive a 1 in the output stream, is equal to a predetermined error rate,and setting the threshold value to a second value so that the countednumber of errors, when a transmitted 1 is detected to give a 0 in theoutput stream, is equal to the predetermined error rate; and whereinmaintaining or modifying the threshold value comprises setting thethreshold value to the average of the first and second values.
 3. Amethod according to claim 1, wherein modifying the threshold valuecomprises decreasing the threshold value if a transmitted 0 is detectedto give a 1 in the output stream and increasing the threshold value if atransmitted 1 is detected to give a 0 in the output stream.
 4. A methodaccording to claim 3, wherein the decreasing and increasing of thethreshold value are made by a predetermined step.
 5. A method accordingto claim 4, wherein the predetermined step provides a first value in aninitial stage of setting up the transmitting of the stream of binarysymbols, and the predetermined step provides a second value lower thanthe first value in a later stage of transmitting the stream of binarysymbols.
 6. A method of setting a threshold value in a decision circuitreceiving a transmitted stream of binary symbols, the decision circuitusing a threshold value for detecting whether a 1 or a 0 is received toproduce an output stream having a low bit error rate, said methodcomprising: inserting extra information before transmitting the stream;accessing the extra information in the output stream and removing itfrom the output stream; analyzing the extra information accessed fromthe output stream to determine whether there is in an error detecting a1 instead of a 0 or a 0 instead of a 1; and at least one of maintainingand modifying the threshold value according to the analyzing.
 7. Amethod according to claim 6, wherein the extra information is insertedevery n:th bit in the stream before transmitting the stream.
 8. A methodaccording to claim 6, wherein the extra information is insertedaccording to a 64B/66B coding method.
 9. A method according to claim 6,wherein the extra information is inserted according to a BB/10B codingmethod.
 10. A method according to claim 6, wherein the extra informationis inserted according to a forward error correction (FEC) coding method.11. A method of setting a threshold value in a decision circuitreceiving a plurality of signal levels representing a transmitted inputstream of symbols, each signal level representing one symbol, thedecision circuit using the threshold value for discriminating betweentwo adjacent signal levels, a low signal level representing a firstsymbol and a high signal level representing a second symbol, to producean output stream of symbols substantially agreeing with the inputstream, said method comprising: determining errors as to the first andsecond symbols in the output stream based on extra information insertedbefore transmitting the stream; counting the number of errors when aninput first symbol is detected to give an output second symbol; countingthe number of errors when an input second symbol is detected to give anoutput first symbol; comparing the counted numbers of errors to eachother; and at least one of maintaining and modifying the threshold valueaccording to the result of the comparing.
 12. A network comprising: aninserting unit configured to modify an input stream of binary symbols toprovide a modified stream of binary symbols; a transmitter configured toreceive the modified stream of binary symbols from the inserting unitand transmit the modified stream; a transmission link connected to thetransmitter, the transmission link being configured to receive thetransmitted modified stream of binary symbols from the transmitter andpass the transmitted modified stream to an output end to produce anoutput stream of binary symbols; a receiver connected to the output endof the transmission link, to produce an link, the receiver beingconfigured to receive the output stream of binary symbols, the receivercomprising a decision circuit using that uses a threshold value fordetermining whether a symbol received by the receiver is a 0 or a 1,said decision circuit comprising: means for determining bit errors inthe output stream; means for counting the number of errors when atransmitted 0 is detected to give a 1 in the output stream; means forcounting the number of errors when a transmitted 1 is detected to give a0 in the output stream; means for comparing the counted numbers oferrors to each other; and means for maintaining and modifying thethreshold value according to the result of the comparing.
 13. A networkcomprising: an inserting unit configured to modify an input stream ofbinary symbols to provide a modified stream of binary symbols; atransmitter configured to receive the modified stream of binary symbolsfrom the inserting unit and transmit the modified stream; a transmissionlink connected at an input end of the transmitter for receiving to thetransmitter, the transmission link being configured to receive thetransmitted modified stream of binary symbols from the transmitter andpass the transmitted modified stream to an output end to produce anoutput stream of binary symbols; a receiver connected to the output endof the transmission link, to produce an link, the receiver beingconfigured to receive the output stream of binary symbols, the receivercomprising a decision circuit that uses a threshold value fordetermining whether a symbol received by the receiver is a 0 or a 1,said decision circuit comprising: an analyzing and removing unitconfigured to receive the output stream and provide a modified outputstream, by: analyzing and modifying the output stream; determining biterrors in the output stream; counting the number of errors when atransmitted 0 is detected to give a 1 in the output stream; counting thenumber of errors when a transmitted 1 is detected to give a 0 in theoutput stream; comparing the counted numbers of errors to each other;and providing the result of the analyzing to the decision circuit formaintaining or modifying the threshold value.
 14. A network according toclaim 13, wherein the inserting unit is arranged to insert extrainformation in the input stream and the analyzing and removing unit isarranged to remove information from the output stream corresponding tothe extra information.
 15. A network according to claim 13, wherein theinserting unit is arranged to insert the extra information every n:thbit in the input stream.
 16. A receiver configured to receive an inputsignal representing an input stream of binary symbols and produce anoutput stream of binary symbols using a threshold value for determiningwhether the input signal represents a 0 or a 1, wherein said detectorcircuit comprises receiver comprising: means for determining bit errorsin the input stream based on extra information inserted into the inputstream before being received by the receiver; means for counting thenumber of errors when a transmitted 0 is detected to give a 1 in theoutput means for counting the number of errors when a transmitted 1 isdetected to give a 0 in the output stream; means for comparing thecounted numbers of errors to each other; and means for maintaining andmodifying the threshold valve according to the result of the comparing.